package com.shiroha.video.service;

import com.mybatisflex.core.service.IService;
import com.shiroha.video.pojo.WorkImage;
import com.shiroha.video.pojo.dto.WorkMetaData;
import com.shiroha.video.pojo.vo.ImageResponse;

import java.util.Optional;

public interface IWorkImageService extends IService<WorkImage> {

    /**
     * 上传作品图集
     * @param workMetaData 作品元数据
     * @return 执行成功返回封面路径，执行失败则返回空
     */
    Optional<String> saveWorkImages(WorkMetaData workMetaData);

    /**
     * 获取图集作品的图片列表
     * @param workId 作品ID
     * @return 含图片信息的封装响应体
     */
    ImageResponse getWorkImages(Long workId);

    /**
     * 获取作品图集的二进制数据
     *
     * @param workId 作品ID
     * @param index  图片序号
     * @return 字节数组
     */
    byte[] getWorkImageBytes(Long workId, int index);
}
